1. Field of the Invention
Embodiments of the solution described herein pertain to the field of computer systems. More particularly, but not by way of limitation, one or more embodiments relate to the semantic exposure of data stored in a dynamic schema.
2. Description of the Related Art
Master data management systems simplify maintenance and promote data integrity by simplifying the user's view of the data stored in its repository. For example, SAP's Master Data Management Environment (MDME) system is an integrated system for master data management that uses a Structured Query Language (SQL) database management system (DBMS), but does not require designers to use SQL for searching, sorting, and retrieving of information. Standard SQL DBMS do not support the types of advanced structures necessary for managing master databases. Generally speaking, master data management systems consist of a thick shell of functionality on top of a SQL-based DBMS to provide a scalable database where data is fully accessible to other applications and tools.
The schema of a database system describes the organizational structure of data stored in the database. In a relational database, the schema defines tables, fields, and relationships between fields and tables. Large commercial data repositories are often changed and revised over their lifetimes. These changes include changes to the schema, such as adding tables and fields, changing relationships, and editing data dictionaries. The MDME system has a dynamic schema, or a schema which is fully extensible and customizable. To access data stored in a dynamic schema using a standard query language, such as SQL, an application must be aware of any schema changes. Therefore, hard-coded queries relying on a schema are inadequate.
Accuracy of data in a large commercial data repository is of critical importance. Some master data management systems restrict direct access to the underlying data, such as requiring access through an application programming interface (API). In this case, the master data management system has complete control over the data and allows it to handle and store data in a proprietary schema. This allows a master data management system to store data efficiently and control the consistency of data records. When a master data management system may be designed to optimize factors, such as time efficiency, space efficiency, hierarchy, or other factors, data is not always presented in a meaningful way when only a single table is accessed. While the API helps provide meaningful access of data, the API does not offer the semantic exposure of data in a standard protocol understood by external applications.
External applications using a standard query language, such as structured query language (SQL), are used to manage data stored in databases. External applications include data profiling tools useful for analyzing the data, including data quality. External applications also include third party matching tools, business warehouse applications, and reporting tools for creating formatted reports against data stored in the master data management repository. However, external applications programmed to communicate with a database using a standard query language cannot communicate with a master data management system which limits third party access to requests made through an API. It is essential to expose the master data in a way that would be accessible and understandable for external applications to communicate with a master data management system in a protocol they are familiar with.
There are currently no known systems that provide the semantic exposure of data stored in a dynamic schema.
For at least the limitations described above there is a need for a system and method for exposing data stored in a dynamic schema in a semantically accurate format accessible to external applications in a standard query language.